package com.ruoyi.workOrder.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 运维工单对象 work_order
 * 
 * @author likui
 * @date 2023-11-16
 */
public class WorkOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 工单明细主键id */
    private Long workId;

    /** 工单状态(0:新增,1:处理中，2:已处理) */
    @Excel(name = "工单状态", dictType="work_status")
    private String workStatus;

    /** 工单标题 */
    @Excel(name = "工单标题")
    private String questionTitle;

    /** 所属项目编码 */
    @Excel(name = "所属项目",dictType="project_list")
    private String projectCode;

    /** 所属项目名称 */
//    @Excel(name = "所属项目名称")
    private String projectName;

    /** 工单描述 */
    @Excel(name = "工单描述")
    private String questionDescription;

    /** 解决办法 */
    @Excel(name = "解决办法")
    private String questionSolution;

    /** 删除标识（0：删除，1：未删除） */
    private String isDelete;

    /** 排序 */
    @Excel(name = "排序")
    private Integer orderNumber;

    /** 提问人 */
    @Excel(name = "提问人")
    private String startUser;

    /** 处理人 */
    @Excel(name = "处理人")
    private String endUser;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 提问时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提问时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 工时(人/天) */
    @Excel(name = "工时(人/天)")
    private BigDecimal workHours;

    /** 工单类型(1-系统bug; 2-常规运维; 3-系统优化; 4-新增需求;) */
    @Excel(name = "工单类型",dictType="work_type")
    private String questionType;

    /** 所属机构 */
    @Excel(name = "所属机构",dictType="enterprise_list")
    private String enterpriseCode;

    public void setWorkId(Long workId) {
        this.workId = workId;
    }

    public Long getWorkId() {
        return workId;
    }
    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus;
    }

    public String getWorkStatus() {
        return workStatus;
    }
    public void setQuestionTitle(String questionTitle) {
        this.questionTitle = questionTitle;
    }

    public String getQuestionTitle() {
        return questionTitle;
    }
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectCode() {
        return projectCode;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }
    public void setQuestionDescription(String questionDescription) {
        this.questionDescription = questionDescription;
    }

    public String getQuestionDescription() {
        return questionDescription;
    }
    public void setQuestionSolution(String questionSolution) {
        this.questionSolution = questionSolution;
    }

    public String getQuestionSolution() {
        return questionSolution;
    }
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    public String getIsDelete() {
        return isDelete;
    }
    public void setOrderNumber(Integer orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Integer getOrderNumber() {
        return orderNumber;
    }
    public void setStartUser(String startUser) {
        this.startUser = startUser;
    }

    public String getStartUser() {
        return startUser;
    }
    public void setEndUser(String endUser) {
        this.endUser = endUser;
    }

    public String getEndUser() {
        return endUser;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getEndTime() {
        return endTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }
    public void setWorkHours(BigDecimal workHours) {
        this.workHours = workHours;
    }

    public BigDecimal getWorkHours() {
        return workHours;
    }
    public void setQuestionType(String questionType) {
        this.questionType = questionType;
    }

    public String getQuestionType() {
        return questionType;
    }
    public void setEnterpriseCode(String enterpriseCode) {
        this.enterpriseCode = enterpriseCode;
    }

    public String getEnterpriseCode() {
        return enterpriseCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("workId", getWorkId())
            .append("workStatus", getWorkStatus())
            .append("questionTitle", getQuestionTitle())
            .append("projectCode", getProjectCode())
            .append("projectName", getProjectName())
            .append("questionDescription", getQuestionDescription())
            .append("questionSolution", getQuestionSolution())
            .append("remark", getRemark())
            .append("isDelete", getIsDelete())
            .append("orderNumber", getOrderNumber())
            .append("startUser", getStartUser())
            .append("endUser", getEndUser())
            .append("endTime", getEndTime())
            .append("startTime", getStartTime())
            .append("workHours", getWorkHours())
            .append("questionType", getQuestionType())
            .append("enterpriseCode", getEnterpriseCode())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
